
$(function() {
	//1.初始化Table
	var oTable = new TableInit();
	oTable.Init();
	
	initBtnEvent();
});


/**
 * 初始化按钮点击事件
 */
function initBtnEvent() {
	$("#addAuthor").click(function() {
		$(getParentItem("btn-group-3")).show();
		$(getParentItem("btn-group-4")).hide();
		setInputEdit();
	});
//	
//	$("#search").click(function() {
//		refreshTable();
//	});
//	$("#reset").click(function() {
//		resetTable();
//	});
}

function refreshTable() {
	$("#authorBox").bootstrapTable('refresh');
}

function resetTable() {
//	$("#book-name-search-box").val("");
//	$("#book-isbn-search-box").val("");
//	$("#book-site-search-box").val("");
//	refreshTable();
}

/**
 * 初始化图书列表
 */
var TableInit = function() {
	var oTableInit = new Object();
	//初始化Table
	oTableInit.Init = function() {
		$('#authorBox')
				.bootstrapTable(
						{
							url : basePath + '/author/getauthors', //请求后台的URL（*）
							method : 'post', //请求方式（*）
							toolbar: '#tools-btn',                //工具按钮用哪个容器
							striped : true, //是否显示行间隔色
							cache : false, //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
							sortable : false, //是否启用排序
							sortOrder : "asc", //排序方式
							queryParams : oTableInit.queryParams,//传递参数（*）
							//分页
							pagination : true, //是否显示分页（*）
							sidePagination : "server", //分页方式：client客户端分页，server服务端分页（*）
							pageNumber : 1, //初始化加载第一页，默认第一页
							pageSize : 5, //每页的记录行数（*）
							pageList : [5,10,15], //可供选择的每页的行数（*）
							search : false, //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
							contentType : "application/x-www-form-urlencoded",
							strictSearch : true,
							showColumns : false, //是否显示所有的列
							showRefresh : false, //是否显示刷新按钮 （启动刷新会使分页消失，不知道为啥）
							minimumCountColumns : 2, //最少允许的列数
							clickToSelect : true, //是否启用点击选中行
							uniqueId : "no", //每一行的唯一标识，一般为主键列
							showToggle : false, //是否显示详细视图和列表视图的切换按钮
							cardView : false, //是否显示详细视图
							//height: 700,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
							detailView : false, //是否显示父子表
							columns : [
									{
										field : 'id',
										title : '',
										formatter : function(value, obj, index) {
											return index+1;
										}
									},
									{
										field : 'name',
										title : '姓名'
									}, {
										field : 'nationality',
										title : '国籍'
									}, {
										field : 'company',
										title : '所在公司'
										
									}, {
										field : 'production',
										title : '作品'
									}, {
										field : 'intro',
										title : '简介'
									} ],
							rowStyle : function(row, index) {
								return {
									classes : 'success md-trigger text-center'
								};
							},//隔行变色
							onLoadSuccess : function() {
								$("thead > tr > th").addClass("text-center");
								var ModalEffects = (function() {
									function init() {
										var overlay = window.parent.document.querySelector( '.md-overlay' );
										[].slice.call( document.querySelectorAll( '.md-trigger' ) ).forEach( function( el, i ) {
											var modal = window.parent.document.querySelector( '#modal-14' ),
												close = modal.querySelector( '.md-close' );
											function removeModal( hasPerspective ) {
												classie.remove( modal, 'md-show' );
												clearForm();
												$(getParentItem("btn-group-1")).show();
												$(getParentItem("btn-group-2")).show();
												if( hasPerspective ) {
													classie.remove( document.documentElement, 'md-perspective' );
												}
											}
											function removeModalHandler() {
												removeModal( classie.has( el, 'md-setperspective' ) ); 
											}
											el.addEventListener( 'click', function( ev ) {
												classie.add( modal, 'md-show' );
												overlay.removeEventListener( 'click', removeModalHandler );
												overlay.addEventListener( 'click', removeModalHandler );

												if( classie.has( el, 'md-setperspective' ) ) {
													setTimeout( function() {
														classie.add( document.documentElement, 'md-perspective' );
													}, 25 );
												}
											});
											close.addEventListener( 'click', function( ev ) {
												ev.stopPropagation();
												removeModalHandler();
											});
										} );
									}
									init();
								})();
							}
						});
	};

	//得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
			limit : params.limit, //页面大小
			offset : params.offset,
			bookName : $("#book-name-search-box").val(),
			isbn : $("#book-isbn-search-box").val(),
			site : $("#book-site-search-box").val()
			
		};
		return temp;
	};
	
	//行点击事件
	$('#authorBox').on('click-row.bs.table', function (e, row, element) {  
		$(getParentItem("btn-group-1")).hide();
		$(getParentItem("btn-group-2")).show();
		var url = basePath + "/author/getAuthorById";
		var args = {
				id : row.id,
				time : new Date()
		};
		$.ajax({
			url : url,
			method : 'post',
			data : args,
			dataType : 'json',
			success : function(result) {
				if(result.result == 'SUCCESS') {
					initFormMsg(result.object, row);
				}
			}
		});
        
    });  
	
	return oTableInit;
};









/**
 * 将图书信息展示到表单上
 * @param author
 */
function initFormMsg(author, row) {
	var authorNameBox = getParentItem("author_name");
	var authorNationalityBox = getParentItem("author_nationality");
	
	$(authorNameBox).val( author.name);
	$(authorNationalityBox).val(author.nationality);

	
//	var authors = book.authors.split(",");
//	var presses = book.presses.split(",");
//	
//	$(getParentItem("book_authors")).selectpicker('val', authors);
//	$(getParentItem("book_presses")).selectpicker('val', presses);
//	$(getParentItem("buy_type")).selectpicker('val', row.type.id);
//	$(getParentItem("has_finish")).selectpicker('val', row.readOff);

	setInputUnEdit();
}


/**
 * 清空表单内的历史内容
 */
function clearForm() {
	$(getParentItem("author_name")).val("");
	$(getParentItem("author_nationality")).val("");

	
//	$(getParentItem("book_authors")).selectpicker('val', '');
//	$(getParentItem("book_presses")).selectpicker('val', '');
//	$(getParentItem("buy_type")).selectpicker('val', '');
//	$(getParentItem("has_finish")).selectpicker('val', '');
}



/**
 * 设置表单为只读
 */
function setInputUnEdit() {
	var inputArray = getParentByTagName("input");
	for(var i=0;i<inputArray.length;i++) {
		$(inputArray[i]).attr('readonly', 'readonly');
	}
//	$(getParentItem("book_authors")).prop('disabled', true);
//	$(getParentItem("book_authors")).selectpicker('refresh');
//	$(getParentItem("book_presses")).prop('disabled', true);
//	$(getParentItem("book_presses")).selectpicker('refresh');
//	$(getParentItem("buy_type")).prop('disabled', true);
//	$(getParentItem("buy_type")).selectpicker('refresh');
//	$(getParentItem("has_finish")).prop('disabled', true);
//	$(getParentItem("has_finish")).selectpicker('refresh');
}


/**
 * 设置表单为可写
 */
function setInputEdit() {
	var inputArray = getParentByTagName("input");
	for(var i=0;i<inputArray.length;i++) {
		$(inputArray[i]).attr('readonly', false);
	}
//	$(getParentItem("book_authors")).prop('disabled', false);
//	$(getParentItem("book_authors")).selectpicker('refresh');
//	$(getParentItem("book_presses")).prop('disabled', false);
//	$(getParentItem("book_presses")).selectpicker('refresh');
//	$(getParentItem("buy_type")).prop('disabled', false);
//	$(getParentItem("buy_type")).selectpicker('refresh');
//	$(getParentItem("has_finish")).prop('disabled', false);
//	$(getParentItem("has_finish")).selectpicker('refresh');
}










